<!doctype html>
<title>WebSockets: 20s inactivity after handshake</title>
<meta name=timeout content=long>
<p>Note: This test takes 20 seconds to run.</p>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../constants.js?pipe=sub></script>
<div id=log></div>
<script>
async_test(function(t) {
  var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
  ws.onclose = ws.onerror = ws.onmessage = t.step_func(function() {assert_unreached()});
  ws.onopen = t.step_func(function(e) {
    setTimeout(t.step_func(function() {
      ws.send('test');
      ws.onmessage = t.step_func(function(e) {
        assert_equals(e.data, 'test');
        ws.onclose = t.step_func(function(e) {
          setTimeout(t.step_func(function() {t.done();}), 50)
        });
        ws.close();
      });
    }), 20000);
  })
}, null, {timeout:30000});
</script>
